export type {
  FocusOutsideEvent as TagsInputFocusOutsideEvent,
  HighlightChangeDetails as TagsInputHighlightChangeDetails,
  InputValueChangeDetails as TagsInputInputValueChangeDetails,
  InteractOutsideEvent as TagsInputInteractOutsideEvent,
  PointerDownOutsideEvent as TagsInputPointerDownOutsideEvent,
  ValidityChangeDetails as TagsInputValidityChangeDetails,
  ValueChangeDetails as TagsInputValueChangeDetails,
} from '@zag-js/tags-input'
export {
  TagsInputClearTrigger,
  type TagsInputClearTriggerBaseProps,
  type TagsInputClearTriggerProps,
} from './tags-input-clear-trigger'
export { TagsInputContext, type TagsInputContextProps } from './tags-input-context'
export { TagsInputControl, type TagsInputControlBaseProps, type TagsInputControlProps } from './tags-input-control'
export {
  TagsInputHiddenInput,
  type TagsInputHiddenInputBaseProps,
  type TagsInputHiddenInputProps,
} from './tags-input-hidden-input'
export { TagsInputInput, type TagsInputInputBaseProps, type TagsInputInputProps } from './tags-input-input'
export { TagsInputItem, type TagsInputItemBaseProps, type TagsInputItemProps } from './tags-input-item'
export { TagsInputItemContext, type TagsInputItemContextProps } from './tags-input-item-context'
export {
  TagsInputItemDeleteTrigger,
  type TagsInputItemDeleteTriggerBaseProps,
  type TagsInputItemDeleteTriggerProps,
} from './tags-input-item-delete-trigger'
export {
  TagsInputItemInput,
  type TagsInputItemInputBaseProps,
  type TagsInputItemInputProps,
} from './tags-input-item-input'
export {
  TagsInputItemPreview,
  type TagsInputItemPreviewBaseProps,
  type TagsInputItemPreviewProps,
} from './tags-input-item-preview'
export { TagsInputItemText, type TagsInputItemTextBaseProps, type TagsInputItemTextProps } from './tags-input-item-text'
export { TagsInputLabel, type TagsInputLabelBaseProps, type TagsInputLabelProps } from './tags-input-label'
export { TagsInputRoot, type TagsInputRootBaseProps, type TagsInputRootProps } from './tags-input-root'
export {
  TagsInputRootProvider,
  type TagsInputRootProviderBaseProps,
  type TagsInputRootProviderProps,
} from './tags-input-root-provider'
export { tagsInputAnatomy } from './tags-input.anatomy'
export { useTagsInput, type UseTagsInputProps, type UseTagsInputReturn } from './use-tags-input'
export { useTagsInputContext, type UseTagsInputContext } from './use-tags-input-context'
export { useTagsInputItemContext, type UseTagsInputItemContext } from './use-tags-input-item-context'

export * as TagsInput from './tags-input'
